《UML系统分析与设计》复习纲要+习题答案 您所在的位置:网站首页 软件开发 A类 B类 C类 《UML系统分析与设计》复习纲要+习题答案

《UML系统分析与设计》复习纲要+习题答案

2024-06-30 19:23| 来源: 网络整理| 查看: 265

《UML系统分析与设计》复习纲要 第1章 面向对象技术概述第2章 统一建模语言UML概述第3章 用例图第4章 类图与对象图第5章 顺序图与协作图第6章 状态图与活动图《UML系统分析与设计》复习参考答案 答案地址(跳转不了就复制到浏览器打开):https://blog.csdn.net/bueke/article/details/105522391

第1章 面向对象技术概述

复习题 1-1. 领域模型又称为( ) A. 用例模型 B. 概念模型 C. 分析模型 D. 设计模型 1-2. ( )是面向对象方法中用来描述“对客户隐藏对象的属性和实现细节”的概念。 A. 封装 B. 继承 C. 多态 D. 抽象 1-3. 使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是( )。 A. 继承 B. 多态 C. 约束 D. 接口 1-4. ( )是指同一操作作用于不同的对象可以有不同的解释,产生不同的执行结果。 A. 继承 B. 多态 C. 封装 D. 泛化 1-5. 已知f1和f2是同一个类的两个成员函数,但f1不能调用f2,说明( )。 A. f1和f2都是静态成员函数 B. f1是静态成员函数,f2不是静态成员函数 C. f1不是静态成员函数,f2是静态成员函数 D. f1和f2都不是静态成员函数 1-6 判断( ) :面向对象方法中对象是从客观世界中抽象出来的一个集合体。 1-7. 判断( ) :类是面向对象程序中的构造单位,也是面向对象程序语言的基本成分。

第2章 统一建模语言UML概述

复习题 2-1. UML的全称是 ( ) A. Unify Modeling Language B. Unified Modeling Language C. Unified Modem Language D. Unified Making Language 2-2. 在UML中表示一般事物与特殊事物之间的关系是( )。 A. 关联关系 B. 泛化关系 C. 依赖关系 D.实现关系 2-3. 我们可以使用UML中的( )来描述图书馆与书的关系。 A. 关联关系 B. 泛化关系 C. 依赖关系 D.实现关系 2-4. UML使用( )来描述接口和实现接口的类之问的父系。 A. 关联关系 B. 泛化关系 C. 依赖关系 D.实现关系 2-5. 下列选项中不属于UML的扩展机制的是( )。 A. 约束 B. 构造型 C. 注解 D. 标记值 2-6. UML的软件以( )为中心,以系统体系结构为主线,采用循环、迭代、渐增的方式进行开发。 A. 用例 B.对象 C.类 D.程序 2-7.UML的( )模型图由类图、对象图、包图、组件图和部署图组成。 A.用例 B. 静态 C.动态 D.系统 2-8 . UML的( )模型图由活动图、顺序图、状态图和协作图组成。 A. 用例 B. 静态 C.动态 D.系统 2-9.UML的最终产物就是最后提交的可执行的软件系统和( )。 A. 用户手册 B. 类图 C. 动态图 D.相应的软件文档资料 2-10. 在UML的需求分析建模中,( )模型图必须与用户反复交流并加以确认。 A.配置 B.用例 C. 包 D. 动态 2-11. 判断( ) :构造块就是UML中的事物。 2-12. 判断( ) :UML中的行为事物通常用来描述模型的动态部分。 2-13. 判断( ) :所有的UML图都不依赖于元素符号的大小和位置。 2-14. 判断( ) :UML的用户可以随意对UML进行任意形式的扩展。 2-15. 判断( ) :UML中的约束使用大括号中的文本来表示。

第3章 用例图

要求掌握内容

参与者(Actor): 是指系统以外的–需要使用系统或与系统交互的东西–包括人-设备-外部系统等。 参与者这个概念更确切的术语应该是角色(role)–参与者是他们相对系统而言(与系统交互时)所扮演的角色(而非特定的人或事物–实际上是版型化的类)。 版型:既构造型(Stereotype) – 必须从UML中已有的基本构造块上派生 - 解决特定问题(在已有的元素上增加新的语义但没有增加新的语法) - 这就是UML的扩展机制 P38。 例如:参与者是类的构造型 – 接口是类的构造型 – 子系统是包的构造型参与者之间的关系: 泛化(generalization)关系:一般事物(称为超类或父类)和该事物的较为特殊的种类之间的(分类)关系-子类继承(共享)父类的特性(特别是属性和操作)-也可以用自己特性 P36。参与者和用例之间的关联关系: 关联(association)关系:是一种结构关系–说明一个事物的实例与另一个事物的实例间的(通信)联系(P36) – 参与者和用例之间的关联关系-表明了哪个参与者与用例通信。用例的概念: (1)用例由一组用例实例(场景)组成-在商场购物“付款”的用例中-一个是使用现会成功付款的场景-一个是由于银行卡付款被拒绝造成的付款失败场景。 (2)用例从使用系统的角度描述系统–即站在系统外部察看系统功能-而不考虑系统内部对该功能的具体实现。 (3)用例的执行结果对参与者来说是有意义的–登录系统是一个有效的用例–但输入密码却不是–因为登录系统对参与者有价值–这样他可以获得身份认证和授权。 (4)用例是对系统行为的动态描述-属于动态建模部分–不存在没有参与者的用例用例不是全部的系统需求–只是功能性的需求。用例之间的关系: (1)泛化关系:泛化(Generalization)代表一般与特殊的关系,与继承关系类似。在泛化关系中,子用例继承了父用例的行为和含义,也可以增加新的行为和含义,或覆盖父用例中的行为和含义。当发现系统中有两个或多个用例在行为、结构和目的方面存在共性时,就可以使用泛化关系。这时,可以用一个新的(通常也是抽象的)用例(父用例)来描述这些共有部分。 (2)包含关系:一个用例(基本用例)的行为包含(Include)了另一个用例(包含用例) 的行为。包含关系是依赖关系的版型–也就是说包含关系是比较特殊的依赖关系–它们比一般的依赖关系多了一些语义。当发现系统中有两个或多个用例有某些相同的动作–就可以这些相同的动作提取出来–单独构成一个用例(包含用例)–基本用例仅仅依赖包含用例执行的结果–而不依赖包含用例执行的内部结构。 (3)扩展关系:一个用例(基本用例)的行为包含了另一个用例(扩展用例)的行为。扩展(Extend)关系也是依赖关系的版型。相对于包含关系,扩展用例(Extension Use Case)有更多的规则限制,即基本用例必须申明若干“扩展点” (Extension Point),而扩展用例只能在这些扩展点上增加新的行为和含义。 在基本用例的每一次执行时,包含用例都一定会执行,而扩展用例只是偶尔被执行。用例描述: 没有描述的用例就像一本书的目录–人们只知道该该目录标题–但并不知道该目录的具体内容是什么;系统所要执行的一系列动作序列(事件流)是用例描述(Use Case Specification)主要内容。 在这里插入图片描述在这里插入图片描述在这里插入图片描述 复习题: 3-1. 下面不是用例之间主要关系的是( )。 A. 扩展 B. 包含 C. 依赖 D. 泛化 3-2. 某ATM自动取款机系统中–“查询余额"和"取现"两个用例都需要检查用户的验证码是否正确–为此定义一个通用的用例叫"核查验证码” --那么用例"查询余额"和"取现"与用例"核查验证码"之间是( )。 A. 包含关系 B. 扩展关系 C. 泛化关系 D. 关联关系 3-3. 下列对系统边界的描述中不正确的是( )。 A. 系统边界是指系统与系统之间的界限 B. 用例图中的系统边界用来表示正在建模系统的边界 C. 边界内表示系统的组成部分–边界外表示系统外部 D. 可以使用Rose绘制用例图中的系统边界 3-4. 在进行网上商店的用例绘制时,( )是不适合的用例。 A. 打开页面 B.购买商品 C. 管理订单 D. 搜索商品 3-5. 判断( ):用例图中的参与者可能对应于现实世界中的人,也可能是其他与系统有交互的事物。 3-6. 判断( ):在用例图中,用例必须有相应的参与者来发起或执行。 3-7. 判断( ):在绘制用例图时,其中用例的粒度越细越好。 3-8. 判断( ):用例的包含关系与扩展关系在表示法上相似,都是将虚线箭头从基用例指向包含用例(扩展用例)。 3-9. 判断( ):用例描述中的前置条件与后置条件分别指的是用例执行前和执行后系统与参与者所处的状态。 第4章 类图与对象图

要求掌握内容

类的属性 [可见性] 属性名 [:类型] [’['多重性 [次序] ‘]’] [=初始值] [{特性}] 可见性:Java也叫访问控制 属性名:personNumber 类型:基本数据类型或用户自定义类型(类) 多重性:如1…*表示该属性值有一个或多个,还可以是有序的(用ordered指明) 约束特性:changeable(可变的); addOnly(只可加); Frozen(冻结的); 作用域:具有类作用域的属性 – Java的静态变量或类变量 具有对象作用域的属性 – 非静态变量或实例变量类的操作 [可见性] 操作名 [(参数列表)] [:返回类型] [{约束特性}] 操作名:setValue 约束特性:文字串(说明操作的一些有关信息) 操作接口:操作名、参数列表和返回类型组成操作接口 操作的实现:操作的具体实现叫方法 类的职责:属性和操作(形式化描述) – 职责(非形式化描述)类之间的关系 (1)关联关系:关联(Association)关系是类与类之间最常用的一种关系 – 是一种结构化关系 – 用于表示一类对象与另一类对象之间有联系 – 如汽车和轮胎、班级和学生等等用Java等实现关联关系时通常将一个类的对象作为另一个类的成员变量 ●双向关联; ●单向关联; ●自关联; ●多重性关联; ●聚合关系; ●组合关系 (2)依赖关系:依赖(Dependency)关系是一种使用关系–大多数情况下–依赖关系体现在某个类的方法使用另一个类的对象作为参数 – 驾驶员开车–在Driver类的drive( )方法中将Car类型的对象car作为一个参数传递 – 以便在drive( )方法中能够调用car的move( )方法–且驾驶员的drive( )方法依赖车的move( )方法–因此类Driver依赖类Car (3)泛化关系:泛化(Generalization)关系也就是继承关系 – 用于描述父类与子类之间的关系–父类又称作基类或超类–子类又称作派生类类版型 实体类:保存需要放进持久存储体(数据库-文件等)的信息–通常实体类在数据库中有 相应的表(实体的属性对应表的字段) – 但不一定一一对应 边界类:位于系统与外界的交界处-它是系统内的对象和系统外的参与者的联系媒介 窗体-对话框-报表-表示通讯协议-直接与外部设备(如打印机和扫描仪)交互 的类-直接与外部系统交互的类等都是边界类的例子 控制类:协调边界类和实体类之间的交互–如果用例逻辑比较简单可以不用控制类而 直接利用边界类来操作实体类实现业务逻辑 引入边界类-控制类-实体类的概念-有助于分析人员和设计人员确定系统中的类;一般按下面的BEC模式进行分析和设计。 BEC模式:将对象分为三类–边界对象-控制对象-实体对象 ●参与者只能与边界对象互动 ●每个用例可以对应生成一个控制类 ●实体对象一般不能发送消息给边界对象和控制对象(返回消息除外)类图 类及其关系–构成类图–描述的是类和类之间的静态关系;在软件开发的不同阶段使用的类图具有不同的抽象层次。 领域模型–从面向对象的视角看待现实世界–主要工作是找出相关类–然后明确它们的关系–必要时加入一些多重性描述和业务规则–不涉及具体语言 分析模型–从领域模型将得到实体类–对软件系统进行分析–可以得到边界类;描述的是软件的接口–不是软件的实现–最利于开发者使用和交流的类图 设计模型–加入了抽象类–接口等设计元素–加入了设计模式等–描述了类的实现细节-可以直接映射到可执行代码–因此–涉及具体语言和设计模式等对象图 表示一组对象及它们之间的联系–是系统的详细状态在某一时刻的快照;常用于表示复杂的类图的一个实例; 对象是类的实例–对象之间的链是类之间的关联的实例–因此–对象图实质上是具有关联关系的类图的实例。 复习题 4-1. 下面那个类图的表示是错误的( ) 在这里插入图片描述 4-2. 在类图中,“ #”表示的可见性是( ) A. public B. protected C. private D. package 4-3. 在UML中, 多重性用来描述类属性或类之间关联关系的一种约束。下面哪种表示方法不是其中之一( ) A. 0…1 B. 0…* C. 1…* D. … 4-4. 类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有( )。 A. 正负号 B. 动作 C. 具体值 D. 私有成员 4-5. 汽车(Car)由轮子、发动机、油箱、座椅、方向盘等组成。那么Car类和其他类(Wheel、 Engin、Tank、Chair、SteeringWheel)之间的关系是( )。 A. 关联关系 B. 泛化关系 C.实现关系 D.依赖关系 4-6. 在下列选项中不属于分析类的是( )。 A. 实体类 B. 主类 C. 边界类 D. 控制类 4-7. 判断( ):类图主要通过系统中的类及类之问的关系来描述系统的动态结构。 4-8. 判断( ):任何一个类都必须具有一定数量的属性与操作。 4-9. 判断( ):接口与抽象类的概念是完全相同的。 4-10. 判断( ):假设班级类(Class)与学生类(Student)之问建立了关联关系,并且约定一个班级至少拥有一个学生,每个学生只能属于一个班级,则关联关系的班级类一端的多重性应设为1…*。 4-11. ( )主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为。 A. 边界类 B. 控制类 C.抽象类 D.实体类 4-12. 对于场景:一个公司(Company)负责多个项目,每个项目(Project)由至少有一个以上员工(Employee)的团队(Team)来开发。下面UML概念图中,( )最适合描述这一场景。 在这里插入图片描述 4-13. 根据下面的陈述画出类图。 1)学生包括本科生-研究生两种;2)研究生的一部分利用课余时间担任助教;3)教师包括助教-讲师和教授三种; 4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教 一位教授可以有5名助教。 4-14. 将以下类图用Java语言实现。 在这里插入图片描述 4-15. 根据以下Java代码画出类图。 在这里插入图片描述 第5章 顺序图与协作图

要求掌握内容 1.几个重要的概念 在这里插入图片描述 2.顺序图(sequence diagram)和协作图(collaboration diagram) 在这里插入图片描述 3.主要消息 调用消息(procedure call):简单地说,表示调用某个对象的一个操作(通常格式为对象.成员方法)。可以是对象之间的调用,也可以是对象本身的调用(自身调用)。调用是同步机制,也就是说对象A调用对象B时,A发送完消息后会等待B执行完所调用的方法之后再继续执行。 异步消息(asynchronous):表示发送者通过消息把信号传递给接收者,然后继续自己的活动,不等待接收者返回消息或控制。 返回消息(return):被调用对象向调用者返回一个值(有值必须明确表示否则可不画)

210 运算结果是 1024. 在这里插入图片描述 复习题 5-1. UML顺序图将交互关系表现成一张二维图,其中纵向是( ),横向是( ) 。 A. 时间,对象 B.交互,消息 C.时间,消息 D.交互,泛化 5-2. UML顺序图的一个对象被命名为“:B”,该对象名的含义是( )。 A. 一个属于类B的对象B B.一个属于类B的匿名对象 C.一个所属类不明的对象B D. 非法对象名 5-3. 顺序图和协作图建立了UML面向对象开发过程的对象动态( )模型。 A. 交互 B. 状态 C. 体系结构 D. 软件复用 5-4. 协作图用来连接对象与对象的元素是( )。 A. 关联关系 B. 链 C. 生命线 D. 消息 5-5. 在开始编写代码时,交互图可以用来提供的信息是( )。 A. 消息发送的顺序 B. 在什么条件下消息将被发送 C. 一个对象下不同状态之间的转移 D. 类之间的关联的多重性信息 5-6. 判断( ):顺序图从时间顺序上显示了交互过程中信息的交换。 5-7. 判断( ):顺序图中的对象可以在交互开始时已经存在,也可以在交互过程中才被创建。 5-8. 判断( ):在顺序图中,对象的生命线一定会贯穿整个交互过程。 5-9. 判断( ):激活表示在这一时间段内对象正在完成某项任务。 5-10. 判断( ):在顺序图中,如果一个对象在接收到消息时还没有被激活,那么这条消息将会激活这个对象。 5-11. 判断( ):顺序图虽然能表示消息发送的事件顺序,却无法量化地表示出消息发送的具体时间。 5-12. 判断( ):协作图的主要组成元素包括对象、链、生命线和消息。 5-13. 判断( ):协作图中应该表示出交互发生的时刻系统中存在的所有对象。 5-14. 判断( ):与关联关系相似,UML也允许对象自身与自身之问建立一条链。 5-15. 判断( ):就语义和语法而言,协作图中的消息与顺序图中的消息完全相同。 5-16. 下图中( )分别表示一条同步消息和一条异步消息。 A. 1和2 B. 3和5 C. 5和6 D. 6和7 在这里插入图片描述 5-17. 根据下面描述画出顺序图:Student(李明)首先通过WebInterface(登录页面)进行登录–WebInterface需要通过DataManager(数据管理)获得用户Student(李明)的验证信息–成功验证以后-- Student(李明)通过WebInterface(登录页而)向DataManager(数据管理)获取自己的信息进行显示。 5-18. 订票管理系统的类图和顺序图下图。根据类图,分析顺序图中缺少的类名是什么? 在这里插入图片描述

第6章 状态图与活动图

要求掌握内容

几个重要的概念 在这里插入图片描述 2.状态图(statechart diagram):UML2.0后称为状态机图;核心元素:状态和转移 3.状态:状态是指-在对象生命周期中的-某个状况(手机)或条件(贷记卡) 在这里插入图片描述 4.转移 在这里插入图片描述包含复杂转移(转换)的状态图 在这里插入图片描述包含组合状态(复合状态)的状态图 在这里插入图片描述7. 活动图 在这里插入图片描述泳道 在这里插入图片描述对象流 6. 复习题 6-1. 状态图描述一个对象在不同的( )驱动下发生的状态转移。 A. 事件 B.对象 C.执行者 D.数据 6-2. 假设一个转换被表示为“A[B]/C”,其表达的语义是( )。 A. 触发事件为B,监护条件(警戒条件)为A,效果列表(动作)为C B. 触发事件为A,监护条件(警戒条件)为B,效果列表(动作)为C C. 触发事件为C,监护条件(警戒条件)为A,效果列表(动作)为B D. 触发事件为A,监护条件(警戒条件)为C,效果列表(动作)为B 6-3. 需要依赖某个表达式的布尔条件才能发生的事件被称为( )。 A. 信号事件 B. 调用事件 C. 改变事件 D. 时间事件 6-4. 反应型对象建模一般使用( )。 A. 状态图 B. 顺序图 C. 活动图 D. 类图 6-5. 组合状态(复合状态)的多个子状态之间是互斥的,不能同时存在,那么这种状态称之为( )复合状态。 A. 顺序 B.并发 C.历史 D.同步 6-6. 假设某个状态的内部的一行内容为“eventA/defer”,其表达的语义是( )。 A. 触发器 B. 内部转移 C. 内部执行活动 D.可延迟事件 6-7. 将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。这种技术是( ) A. 泳道 B. 分叉汇合 C. 分支 D. 转移 6-8. 在活动图中用于将判断节点产生的多个控制流合并并导出为一个控制流的元素是( )。 A. 分叉节点 B.结合节点 C. 判断节点 D.合并节点 6-9. 为了描述和理解系统中的控制机制(不是顺序执行的控制逻辑),如为了描述一个设备控制器在不同情况(状态)下所要完成的动作,下面几个图中哪个图是最有用的?( )。 A. 交互图 B. 活动图 C. 状态图 D. 类图 6-10. 如果要对一个企业中的工作流程建模,那么下面4个图中哪个图是最有用 的?( )。 A. 状态图 B. 顺序图 C. 活动图 D. 类图 6-11. 判断( ):在状态图中,转移就是对象在两种状态之间的时空下发生的有意义的事情。 6-12. 判断( ):一个状态图中只能有一个初态。 6-13. 判断( ):内部转移就是某个状态转换到自身的过程。 6-14. 判断( ):可延迟事件表示这一事件如果无法立即执行,则会被延迟执行。 6-15. 判断( ):如果一个非内部的转移没有触发器,则该转移会在其内部活动执行完毕后触发。 6-16. 判断( ):当顺序复合状态被激活时,同一时间只有一个子状态会被激活。 6-17. 判断( ):活动本身是一个原子操作,是不可被中断的。 6-18. 判断( ):活动图中必须有且只能有一个开始标记。 6-19. 判断( ):活动图的控制流与状态图中的转换是语义完全相同的元素。 6-20. 判断( ):泳道按活动发生的时间将活动图划分为几部分。 6-22. 当线程准备运行时-进入就绪状态-如果获得cpu时间片-转入运行状态-运行正常结束-进入结束状态-如果在运行过程中-cpu时间片用完后还没有完成任务-进入就绪状态-等待再次得到cpu时间片-如果线程在运行过程中-不满足所需资源-就进入阻塞状态-处于阻塞状态的线程得到相关资源后-进入就绪状态-依次循环。请画出线程对象的状态机图。 《UML系统分析与设计》复习参考答案

https://blog.csdn.net/bueke/article/details/105522391



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有